The IP Multimedia Subsystem (IMS) is the technology defined by the Third Generation Partnership Project (3GPP) to provide IP Multimedia services over mobile communication networks. IP Multimedia services provide a dynamic combination of voice, video, messaging, data, etc. within the same session.
FIG. 1 illustrates schematically how the IMS fits into the mobile network architecture in the case of a GPRS/PS access network (IMS can of course operate over other access networks). Call/Session Control Functions (CSCFs) operate as Session Initiation Protocol (SIP) proxies within the IMS. The 3GPP architecture defines three types of CSCFs: the Proxy CSCF (P-CSCF) which is the first point of contact within the IMS for a SIP terminal; the Serving CSCF (S-CSCF) which provides services to the subscriber; and the Interrogating CSCF (I-CSCF) whose role is to identify the S-CSCF to be used and to forward to that S-CSCF a request received from a SIP terminal via a P-CSCF. Within the IMS service network, Application Servers (ASs) are provided for implementing IMS service functionality and to provide services to end users.
Many IMS networks include several S-CSCFs, some or each of which may have different capabilities more or less suited for different users or services. In IMS networks with more than one S-CSCF, there is normally a procedure involving one or more selection criteria that are used to select which S-CSCF is most suitable for serving a user that registers in the network. The selection criteria can be of many different types; user capabilities (e.g. users could be assigned gold, silver and bronze categories according to their capabilities), user features, user access types, user domain names, user telephone numbers, user visited network identities, user contact IP-address range, user type (for example wild-carded PSI, wild-carded IMPU or normal IMPU), user activity, etc. The I-CSCSF will select one S-CSCF for the user using appropriate criteria based upon information related to the user received from the user's Home Subscriber Server (HSS), the capabilities required for requested services, and the known capabilities of the different S-CSCF entities handled by the I-CSCF. In general an I-CSCF will be configured to select an S-CSCF that best matches the capabilities for a certain user, and will only select an S-CSCF with fewer, or worse, matching capabilities when the best matching S-CSCF is unavailable. For example, the best-matching S-CSCF may not be available because it is already operating at full capacity due to the number of other registered users it is already serving. In that case new/initial registrations can be ‘redirected’ to a non-best matching S-CSCF. Also, in some cases an S-CSCF may initiate moving non-active but registered users when it is put into a temporary administrative state for maintenance purposes.
Problems can arise because as soon as a user has been registered and an S-CSCF allocated, the user will continue to be served by that S-CSCF until the user is deregistered. This is because the identity of the S-CSCF is stored in the user's HSS and does not change for as long as the user is registered and the S-CSCF is available.
One fundamental problem is that when the S-CSCF having the best-matching capabilities for a certain user is unavailable/out of service, the I-CSCF may assign another S-CSCF for the user, but when the best-matching S-CSCF becomes available again or comes back into service, the user will remain with the assigned S-CSCF. However, it would be preferable, both for the user and for the operator, if the user could be transferred to the best-matching S-CSCF without having to deregister.
Another situation that can arise is when a user starts to subscribe to a new service and this is provisioned while the user is already registered and assigned to an S-CSCF that does not have a capability required by the new service.
Another situation that can arise is that another S-CSCF is upgraded and becomes available while the user is registered, the other S-CSCF having one or more additional capabilities providing a better match when compared to the assigned S-CSCF that the user is registered with.
Another problem that can arise is when a service capability, which the user has requested, is removed from the assigned S-CSCF meaning that the capability is no longer available.
The present invention has been conceived with the foregoing problems in mind.